网上流行的"一个注册表单验证的js"不好用,大虾帮忙下~

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:58:00
急用这个注册表单验证,却不好用,请帮忙一下吧,谢谢了~
我的表单名:reg 文本域:user、pwd、pwd2、question、answer、email、 提交按钮动作:无(button)、是不是button设置问题?我设置为onclick="checkform()"

<script language="javascript">
function IsDigit(cCheck)
{
return (('0'<=cCheck) && (cCheck<='9'));
}

function IsAlpha(cCheck)
{
return ((('a'<=cCheck) && (cCheck<='z')) (('A'<=cCheck) && (cCheck<='Z')))
}

function IsaNull(cCheck)
{
return(cCheck != " ")
}

function checkform()
{
user = document.reg.user.value;
if (user == "")
{
alert("请输入注册名");
document.reg.user.focus();
return false;
}

for (nIndex=0; nIndex<user.length; nIndex++)
{
cCheck = user.charAt(nIndex);
if (!(IsDigit(cCheck) IsAlpha(cCheck) cCheck=='-' cCheck=='_' cCh

楼上的"木木的哥哥",要注意一个问题:
name="reg "
reg后面多了一个空格,会导致错误...
---------------------
对于楼主的问题,除了要按照"木木的哥哥的表单正确填写(注意把"reg "改为"reg"或直接不要双引号)外,还要注意,代码里有好几处错误:

1.
function IsAlpha(cCheck)
{
return ((('a'<=cCheck) && (cCheck<='z')) (('A'<=cCheck) && (cCheck<='Z')))
}

其中return那句中间漏了"||",改为下面这句:
return ((('a'<=cCheck) && (cCheck<='z'))||(('A'<=cCheck) && (cCheck<='Z')))

2.
for (nIndex=0; nIndex<user.length; nIndex++)
{
cCheck = user.charAt(nIndex);
if (!(IsDigit(cCheck) IsAlpha(cCheck) cCheck=='-' cCheck=='_' cCheck=='.'))

其中,if这句存在同样的问题,就是缺少"||",改为下面这句:
if (!(IsDigit(cCheck) || IsAlpha(cCheck) || cCheck=='-' || cCheck=='_' || cCheck=='.'))

3.
if (pwd<>pwd2)